package com.zrar.ak.gkpt.dao;

import com.zrar.ak.gkpt.model.bo.ManageCodeInfoBO;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.Map;

/**
 * @InterfaceName: IManageCodeInfoDao
 * @Description: 编码信息表Dao层
 * @Author: CaoTao
 * @Create: 2020/04/02
 */
@Repository("manageCodeInfo")
public interface IManageCodeInfoDao extends Mapper<ManageCodeInfoBO> {

    /**
     * 根据parentId查询查询其子类的
     * @param parentId
     * @return
     */
    int queryNumByParentId(String parentId);

    @Select("select count(1) from MANAGE_CODE_INFO where parent_id is null")
    int queryOneLevelNum();

    /**
     * 设置指定编码id的上级编码信息的有效性
     * @param map ------（isEffective：有效性      id:指定编码的id值）
     */
    void setUpCodeInfoIsEffective(Map map);

    /**
     * 设置指定编码id的下级编码信息的有效性
     * @param map ------（isEffective：有效性      id:指定编码的id值）
     */
    void setLowCodeInfoIsEffective(Map map);

    /**
     * 设置指定编码id的下级编码信息是否被删除
     * @param map
     */
    void setLowCodeInfoIsDelete(Map map);


}
